﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using HslCommunication.BasicFramework;
using HslCommunication.Controls;

namespace HslCommunication.LogNet
{
	/// <summary>
	/// 一个用于日志分析的控件
	/// </summary>
	// Token: 0x020000E8 RID: 232
	public class LogNetAnalysisControl : UserControl
	{
		/// <summary>
		/// 实例化一个控件信息
		/// </summary>
		// Token: 0x0600117E RID: 4478 RVA: 0x0006431C File Offset: 0x0006251C
		public LogNetAnalysisControl()
		{
			this.InitializeComponent();
		}

		// Token: 0x0600117F RID: 4479 RVA: 0x00009AA1 File Offset: 0x00007CA1
		private void LogNetAnalysisControl_Load(object sender, EventArgs e)
		{
		}

		/// <summary>
		/// 设置日志的数据源
		/// </summary>
		/// <param name="logSource">直接从日志文件中读到的数据或是来自网络的数据</param>
		// Token: 0x06001180 RID: 4480 RVA: 0x00064382 File Offset: 0x00062582
		public void SetLogNetSource(string logSource)
		{
			this.m_LogSource = logSource;
			this.SetLogNetSourceView();
		}

		// Token: 0x06001181 RID: 4481 RVA: 0x00064394 File Offset: 0x00062594
		private void SetLogNetSourceView()
		{
			bool flag = !string.IsNullOrEmpty(this.m_LogSource);
			if (flag)
			{
				this.AnalysisLogSource(DateTime.MinValue, DateTime.MaxValue, StringResources.Language.LogNetAll);
				bool flag2 = this.selectButton != null;
				if (flag2)
				{
					this.selectButton.Selected = false;
				}
				this.selectButton = this.userButton_All;
			}
		}

		/// <summary>
		/// 从现有的日志中筛选数据
		/// </summary>
		/// <param name="degree"></param>
		// Token: 0x06001182 RID: 4482 RVA: 0x000643F8 File Offset: 0x000625F8
		private void FilterLogSource(string degree)
		{
			bool flag = !string.IsNullOrEmpty(this.m_LogSource);
			if (flag)
			{
				DateTime start;
				bool flag2 = !DateTime.TryParse(this.textBox2.Text, out start);
				if (flag2)
				{
					MessageBox.Show("起始时间的格式不正确，请重新输入");
				}
				else
				{
					DateTime end;
					bool flag3 = !DateTime.TryParse(this.textBox3.Text, out end);
					if (flag3)
					{
						MessageBox.Show("结束时间的格式不正确，请重新输入");
					}
					else
					{
						this.AnalysisLogSource(start, end, degree);
					}
				}
			}
		}

		/// <summary>
		/// 底层的数据分析筛选
		/// </summary>
		/// <param name="start"></param>
		/// <param name="end"></param>
		/// <param name="degree"></param>
		// Token: 0x06001183 RID: 4483 RVA: 0x00064474 File Offset: 0x00062674
		private void AnalysisLogSource(DateTime start, DateTime end, string degree)
		{
			bool flag = !string.IsNullOrEmpty(this.m_LogSource);
			if (flag)
			{
				StringBuilder stringBuilder = new StringBuilder();
				List<Match> list = new List<Match>(Enumerable.OfType<Match>(Regex.Matches(this.m_LogSource, "\u0002\\[[^\u0002]+")));
				int num = 0;
				int num2 = 0;
				int num3 = 0;
				int num4 = 0;
				int num5 = 0;
				int num6 = 0;
				List<DateTime> list2 = new List<DateTime>();
				int i = 0;
				while (i < list.Count)
				{
					Match match = list[i];
					string text = match.Value.Substring(2, 5);
					DateTime dateTime = Convert.ToDateTime(match.Value.Substring(match.Value.IndexOf('2'), 19));
					bool flag2 = start == DateTime.MinValue;
					if (flag2)
					{
						bool flag3 = i == 0;
						if (flag3)
						{
							this.textBox2.Text = match.Value.Substring(match.Value.IndexOf('2'), 19);
						}
						bool flag4 = i == list.Count - 1;
						if (flag4)
						{
							this.textBox3.Text = match.Value.Substring(match.Value.IndexOf('2'), 19);
						}
					}
					bool flag5 = start <= dateTime && dateTime <= end;
					if (flag5)
					{
						bool @checked = this.checkBox1.Checked;
						if (@checked)
						{
							bool flag6 = !Regex.IsMatch(match.Value, this.textBox4.Text);
							if (flag6)
							{
								goto IL_254;
							}
						}
						bool flag7 = text.StartsWith(StringResources.Language.LogNetDebug);
						if (flag7)
						{
							num++;
						}
						else
						{
							bool flag8 = text.StartsWith(StringResources.Language.LogNetInfo);
							if (flag8)
							{
								num2++;
							}
							else
							{
								bool flag9 = text.StartsWith(StringResources.Language.LogNetWarn);
								if (flag9)
								{
									num3++;
								}
								else
								{
									bool flag10 = text.StartsWith(StringResources.Language.LogNetError);
									if (flag10)
									{
										num4++;
									}
									else
									{
										bool flag11 = text.StartsWith(StringResources.Language.LogNetFatal);
										if (flag11)
										{
											num5++;
										}
									}
								}
							}
						}
						num6++;
						bool flag12 = degree == StringResources.Language.LogNetAll || text.StartsWith(degree);
						if (flag12)
						{
							stringBuilder.Append(match.Value.Substring(1));
							list2.Add(dateTime);
						}
					}
					IL_254:
					i++;
					continue;
					goto IL_254;
				}
				this.userButton_Debug.UIText = string.Format("{0} ({1})", StringResources.Language.LogNetDebug, num);
				this.userButton_Info.UIText = string.Format("{0} ({1})", StringResources.Language.LogNetInfo, num2);
				this.userButton_Warn.UIText = string.Format("{0} ({1})", StringResources.Language.LogNetWarn, num3);
				this.userButton_Error.UIText = string.Format("{0} ({1})", StringResources.Language.LogNetError, num4);
				this.userButton_Fatal.UIText = string.Format("{0} ({1})", StringResources.Language.LogNetFatal, num5);
				this.userButton_All.UIText = string.Format("{0} ({1})", StringResources.Language.LogNetAll, num6);
				this.textBox1.Text = stringBuilder.ToString();
				this.listPaint = list2;
				bool flag13 = this.pictureBox1.Width > 10;
				if (flag13)
				{
					this.pictureBox1.Image = this.PaintData(this.pictureBox1.Width, this.pictureBox1.Height);
				}
			}
		}

		// Token: 0x06001184 RID: 4484 RVA: 0x00064834 File Offset: 0x00062A34
		private void UserButtonSetSelected(UserButton userButton)
		{
			bool flag = this.selectButton != userButton;
			if (flag)
			{
				bool flag2 = this.selectButton != null;
				if (flag2)
				{
					this.selectButton.Selected = false;
				}
				userButton.Selected = true;
				this.selectButton = userButton;
			}
		}

		// Token: 0x06001185 RID: 4485 RVA: 0x0006487D File Offset: 0x00062A7D
		private void userButton_Debug_Click(object sender, EventArgs e)
		{
			this.UserButtonSetSelected(this.userButton_Debug);
			this.FilterLogSource(StringResources.Language.LogNetDebug);
		}

		// Token: 0x06001186 RID: 4486 RVA: 0x0006489E File Offset: 0x00062A9E
		private void userButton_Info_Click(object sender, EventArgs e)
		{
			this.UserButtonSetSelected(this.userButton_Info);
			this.FilterLogSource(StringResources.Language.LogNetInfo);
		}

		// Token: 0x06001187 RID: 4487 RVA: 0x000648BF File Offset: 0x00062ABF
		private void userButton_Warn_Click(object sender, EventArgs e)
		{
			this.UserButtonSetSelected(this.userButton_Warn);
			this.FilterLogSource(StringResources.Language.LogNetWarn);
		}

		// Token: 0x06001188 RID: 4488 RVA: 0x000648E0 File Offset: 0x00062AE0
		private void userButton_Error_Click(object sender, EventArgs e)
		{
			this.UserButtonSetSelected(this.userButton_Error);
			this.FilterLogSource(StringResources.Language.LogNetError);
		}

		// Token: 0x06001189 RID: 4489 RVA: 0x00064901 File Offset: 0x00062B01
		private void userButton_Fatal_Click(object sender, EventArgs e)
		{
			this.UserButtonSetSelected(this.userButton_Fatal);
			this.FilterLogSource(StringResources.Language.LogNetFatal);
		}

		// Token: 0x0600118A RID: 4490 RVA: 0x00064922 File Offset: 0x00062B22
		private void userButton_All_Click(object sender, EventArgs e)
		{
			this.UserButtonSetSelected(this.userButton_All);
			this.FilterLogSource(StringResources.Language.LogNetAll);
		}

		// Token: 0x0600118B RID: 4491 RVA: 0x00064943 File Offset: 0x00062B43
		private void userButton_source_Click(object sender, EventArgs e)
		{
			this.SetLogNetSourceView();
		}

		// Token: 0x0600118C RID: 4492 RVA: 0x00064950 File Offset: 0x00062B50
		private Bitmap PaintData(int width, int height)
		{
			bool flag = width < 200;
			if (flag)
			{
				width = 200;
			}
			bool flag2 = height < 100;
			if (flag2)
			{
				height = 100;
			}
			Bitmap bitmap = new Bitmap(width, height);
			Graphics graphics = Graphics.FromImage(bitmap);
			Font font = new Font("宋体", 12f);
			StringFormat stringFormat = new StringFormat
			{
				Alignment = StringAlignment.Far,
				LineAlignment = StringAlignment.Center
			};
			Pen pen = new Pen(Color.LightGray, 1f);
			pen.DashStyle = DashStyle.Custom;
			pen.DashPattern = new float[]
			{
				5f,
				5f
			};
			graphics.Clear(Color.White);
			bool flag3 = this.listPaint.Count <= 5;
			if (flag3)
			{
				graphics.DrawString("数据太少了", font, Brushes.DeepSkyBlue, new Rectangle(0, 0, width, height), stringFormat);
			}
			else
			{
				int num = (width - 60) / 6;
				TimeSpan timeSpan = Enumerable.Max<DateTime>(this.listPaint) - Enumerable.Min<DateTime>(this.listPaint);
				DateTime d = Enumerable.Min<DateTime>(this.listPaint);
				double num2 = timeSpan.TotalSeconds / (double)num;
				int[] array = new int[num];
				for (int i = 0; i < this.listPaint.Count; i++)
				{
					int num3 = (int)((this.listPaint[i] - d).TotalSeconds / num2);
					bool flag4 = num3 < 0;
					if (flag4)
					{
						num3 = 0;
					}
					bool flag5 = num3 == num;
					if (flag5)
					{
						num3--;
					}
					array[num3]++;
				}
				int num4 = Enumerable.Max(array);
				int min = 0;
				LogNetAnalysisControl.PaintItem[] array2 = new LogNetAnalysisControl.PaintItem[num];
				for (int j = 0; j < array.Length; j++)
				{
					LogNetAnalysisControl.PaintItem paintItem = new LogNetAnalysisControl.PaintItem();
					paintItem.Count = array[j];
					paintItem.Start = this.listPaint[0].AddSeconds((double)j * num2);
					bool flag6 = j == array.Length - 1;
					if (flag6)
					{
						paintItem.End = this.listPaint[this.listPaint.Count - 1];
					}
					else
					{
						paintItem.End = this.listPaint[0].AddSeconds((double)(j + 1) * num2);
					}
					array2[j] = paintItem;
				}
				this.listRender = new List<LogNetAnalysisControl.PaintItem>(array2);
				int num5 = 50;
				int num6 = 10;
				int num7 = 20;
				int num8 = 30;
				graphics.DrawLine(Pens.DimGray, num5, num7 - 10, num5, height - num8);
				graphics.DrawLine(Pens.DimGray, num5, height - num8 + 1, width - num6, height - num8 + 1);
				graphics.SmoothingMode = SmoothingMode.HighQuality;
				SoftPainting.PaintTriangle(graphics, Brushes.DimGray, new Point(num5, num7 - 10), 5, GraphDirection.Upward);
				graphics.SmoothingMode = SmoothingMode.None;
				int degree = 8;
				bool flag7 = height < 500;
				if (flag7)
				{
					bool flag8 = num4 < 15 && num4 > 1;
					if (flag8)
					{
						degree = num4;
					}
				}
				else
				{
					bool flag9 = height < 700;
					if (flag9)
					{
						bool flag10 = num4 < 25 && num4 > 1;
						if (flag10)
						{
							degree = num4;
						}
						else
						{
							degree = 16;
						}
					}
					else
					{
						bool flag11 = num4 < 40 && num4 > 1;
						if (flag11)
						{
							degree = num4;
						}
						else
						{
							degree = 24;
						}
					}
				}
				SoftPainting.PaintCoordinateDivide(graphics, Pens.DimGray, pen, font, Brushes.DimGray, stringFormat, degree, num4, min, width, height, num5, num6, num7, num8);
				stringFormat.Alignment = StringAlignment.Center;
				graphics.DrawString("Totle: " + this.listPaint.Count.ToString(), font, Brushes.DodgerBlue, new RectangleF((float)num5, 0f, (float)(width - num5 - num6), (float)num7), stringFormat);
				int num9 = num5 + 2;
				for (int k = 0; k < array2.Length; k++)
				{
					float num10 = SoftPainting.ComputePaintLocationY(num4, min, height - num7 - num8, array2[k].Count) + (float)num7;
					RectangleF rect = new RectangleF((float)num9, num10, 5f, (float)(height - num8) - num10);
					bool flag12 = rect.Height <= 0f && array2[k].Count > 0;
					if (flag12)
					{
						rect = new RectangleF((float)num9, (float)(height - num8 - 1), 5f, 1f);
					}
					graphics.FillRectangle(Brushes.Tomato, rect);
					num9 += 6;
				}
				graphics.DrawLine(Pens.DimGray, num9, num7 - 10, num9, height - num8);
				graphics.SmoothingMode = SmoothingMode.HighQuality;
				SoftPainting.PaintTriangle(graphics, Brushes.DimGray, new Point(num9, num7 - 10), 5, GraphDirection.Upward);
				graphics.SmoothingMode = SmoothingMode.None;
			}
			stringFormat.Dispose();
			font.Dispose();
			pen.Dispose();
			graphics.Dispose();
			return bitmap;
		}

		// Token: 0x17000271 RID: 625
		// (get) Token: 0x0600118D RID: 4493 RVA: 0x00064E4E File Offset: 0x0006304E
		// (set) Token: 0x0600118E RID: 4494 RVA: 0x00064E56 File Offset: 0x00063056
		private bool IsMouseEnter { get; set; }

		// Token: 0x17000272 RID: 626
		// (get) Token: 0x0600118F RID: 4495 RVA: 0x00064E5F File Offset: 0x0006305F
		// (set) Token: 0x06001190 RID: 4496 RVA: 0x00064E67 File Offset: 0x00063067
		private LogNetAnalysisControl.PaintItem ClickSelected { get; set; }

		// Token: 0x17000273 RID: 627
		// (get) Token: 0x06001191 RID: 4497 RVA: 0x00064E70 File Offset: 0x00063070
		// (set) Token: 0x06001192 RID: 4498 RVA: 0x00064E78 File Offset: 0x00063078
		private Point pointMove { get; set; }

		// Token: 0x06001193 RID: 4499 RVA: 0x00064E84 File Offset: 0x00063084
		private void pictureBox1_Paint(object sender, PaintEventArgs e)
		{
			bool isMouseEnter = this.IsMouseEnter;
			if (isMouseEnter)
			{
				bool flag = this.ClickSelected != null;
				if (flag)
				{
					bool flag2 = this.pictureBox1.Width > 100;
					if (flag2)
					{
						string s = string.Concat(new string[]
						{
							this.ClickSelected.Start.ToString("yyyy-MM-dd HH:mm:ss"),
							"  -  ",
							this.ClickSelected.End.ToString("yyyy-MM-dd HH:mm:ss"),
							Environment.NewLine,
							"Count:",
							this.ClickSelected.Count.ToString()
						});
						e.Graphics.DrawString(s, this.Font, Brushes.DimGray, new Rectangle(50, this.pictureBox1.Height - 27, this.pictureBox1.Width - 60, 30), this.stringFormat);
						e.Graphics.DrawLine(Pens.DeepPink, this.pointMove.X, 15, this.pointMove.X, this.pictureBox1.Height - 30);
					}
				}
			}
		}

		// Token: 0x06001194 RID: 4500 RVA: 0x00064FC5 File Offset: 0x000631C5
		private void pictureBox1_MouseEnter(object sender, EventArgs e)
		{
			this.IsMouseEnter = true;
		}

		// Token: 0x06001195 RID: 4501 RVA: 0x00064FD0 File Offset: 0x000631D0
		private void pictureBox1_MouseLeave(object sender, EventArgs e)
		{
			this.IsMouseEnter = false;
			this.pictureBox1.Refresh();
		}

		// Token: 0x06001196 RID: 4502 RVA: 0x00064FE8 File Offset: 0x000631E8
		private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
		{
			bool isMouseEnter = this.IsMouseEnter;
			if (isMouseEnter)
			{
				bool flag = e.Y > 20 && e.Y < this.pictureBox1.Height - 30 && e.X > 51 && e.X < this.pictureBox1.Width - 10;
				if (flag)
				{
					bool flag2 = (e.X - 52) % 6 == 5;
					if (!flag2)
					{
						int num = (e.X - 52) / 6;
						bool flag3 = num < this.listRender.Count;
						if (flag3)
						{
							this.pointMove = e.Location;
							this.ClickSelected = this.listRender[num];
							this.pictureBox1.Refresh();
						}
					}
				}
			}
		}

		// Token: 0x06001197 RID: 4503 RVA: 0x000650B0 File Offset: 0x000632B0
		private void pictureBox1_SizeChanged(object sender, EventArgs e)
		{
			bool flag = this.pictureBox1.Width > 10;
			if (flag)
			{
				this.pictureBox1.Image = this.PaintData(this.pictureBox1.Width, this.pictureBox1.Height);
			}
		}

		// Token: 0x06001198 RID: 4504 RVA: 0x000650FC File Offset: 0x000632FC
		private void pictureBox1_DoubleClick(object sender, EventArgs e)
		{
			bool isMouseEnter = this.IsMouseEnter;
			if (isMouseEnter)
			{
				bool flag = this.pointMove.Y > 20 && this.pointMove.Y < this.pictureBox1.Height - 30 && this.pointMove.X > 51 && this.pointMove.X < this.pictureBox1.Width - 10;
				if (flag)
				{
					bool flag2 = this.selectButton != null;
					if (flag2)
					{
						bool flag3 = (this.ClickSelected.End - this.ClickSelected.Start).TotalSeconds > 3.0;
						if (flag3)
						{
							this.textBox2.Text = this.ClickSelected.Start.ToString("yyyy-MM-dd HH:mm:ss");
							this.textBox3.Text = this.ClickSelected.End.ToString("yyyy-MM-dd HH:mm:ss");
							this.AnalysisLogSource(this.ClickSelected.Start, this.ClickSelected.End, this.selectButton.UIText.Substring(0, 2));
						}
					}
				}
			}
		}

		/// <summary> 
		/// 清理所有正在使用的资源。
		/// </summary>
		/// <param name="disposing">如果应释放托管资源，为 true；否则为 false。</param>
		// Token: 0x06001199 RID: 4505 RVA: 0x00065248 File Offset: 0x00063448
		protected override void Dispose(bool disposing)
		{
			bool flag = disposing && this.components != null;
			if (flag)
			{
				this.components.Dispose();
			}
			base.Dispose(disposing);
		}

		/// <summary> 
		/// 设计器支持所需的方法 - 不要修改
		/// 使用代码编辑器修改此方法的内容。
		/// </summary>
		// Token: 0x0600119A RID: 4506 RVA: 0x00065280 File Offset: 0x00063480
		private void InitializeComponent()
		{
			this.textBox1 = new TextBox();
			this.textBox2 = new TextBox();
			this.label1 = new Label();
			this.textBox3 = new TextBox();
			this.label2 = new Label();
			this.tabControl1 = new TabControl();
			this.tabPage1 = new TabPage();
			this.tabPage2 = new TabPage();
			this.pictureBox1 = new PictureBox();
			this.checkBox1 = new CheckBox();
			this.textBox4 = new TextBox();
			this.userButton_source = new UserButton();
			this.userButton_All = new UserButton();
			this.userButton_Fatal = new UserButton();
			this.userButton_Error = new UserButton();
			this.userButton_Warn = new UserButton();
			this.userButton_Info = new UserButton();
			this.userButton_Debug = new UserButton();
			this.tabControl1.SuspendLayout();
			this.tabPage1.SuspendLayout();
			this.tabPage2.SuspendLayout();
			((ISupportInitialize)this.pictureBox1).BeginInit();
			base.SuspendLayout();
			this.textBox1.BorderStyle = BorderStyle.FixedSingle;
			this.textBox1.Dock = DockStyle.Fill;
			this.textBox1.Font = new Font("宋体", 12f, FontStyle.Regular, GraphicsUnit.Point, 134);
			this.textBox1.Location = new Point(3, 3);
			this.textBox1.Multiline = true;
			this.textBox1.Name = "textBox1";
			this.textBox1.ScrollBars = ScrollBars.Vertical;
			this.textBox1.Size = new Size(728, 434);
			this.textBox1.TabIndex = 0;
			this.textBox2.Font = new Font("宋体", 10.5f, FontStyle.Regular, GraphicsUnit.Point, 134);
			this.textBox2.Location = new Point(92, 4);
			this.textBox2.Name = "textBox2";
			this.textBox2.Size = new Size(156, 23);
			this.textBox2.TabIndex = 2;
			this.label1.AutoSize = true;
			this.label1.Font = new Font("微软雅黑", 9f, FontStyle.Regular, GraphicsUnit.Point, 134);
			this.label1.Location = new Point(264, 6);
			this.label1.Name = "label1";
			this.label1.Size = new Size(28, 17);
			this.label1.TabIndex = 3;
			this.label1.Text = "----";
			this.textBox3.Font = new Font("宋体", 10.5f, FontStyle.Regular, GraphicsUnit.Point, 134);
			this.textBox3.Location = new Point(304, 4);
			this.textBox3.Name = "textBox3";
			this.textBox3.Size = new Size(156, 23);
			this.textBox3.TabIndex = 4;
			this.label2.AutoSize = true;
			this.label2.Font = new Font("微软雅黑", 9f, FontStyle.Regular, GraphicsUnit.Point, 134);
			this.label2.Location = new Point(3, 8);
			this.label2.Name = "label2";
			this.label2.Size = new Size(68, 17);
			this.label2.TabIndex = 12;
			this.label2.Text = "时间选择：";
			this.tabControl1.Anchor = (AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right);
			this.tabControl1.Controls.Add(this.tabPage1);
			this.tabControl1.Controls.Add(this.tabPage2);
			this.tabControl1.Font = new Font("微软雅黑", 9f, FontStyle.Regular, GraphicsUnit.Point, 134);
			this.tabControl1.Location = new Point(6, 34);
			this.tabControl1.Name = "tabControl1";
			this.tabControl1.SelectedIndex = 0;
			this.tabControl1.Size = new Size(742, 470);
			this.tabControl1.TabIndex = 15;
			this.tabPage1.Controls.Add(this.textBox1);
			this.tabPage1.Location = new Point(4, 26);
			this.tabPage1.Name = "tabPage1";
			this.tabPage1.Padding = new Padding(3);
			this.tabPage1.Size = new Size(734, 440);
			this.tabPage1.TabIndex = 0;
			this.tabPage1.Text = "数据视图";
			this.tabPage1.UseVisualStyleBackColor = true;
			this.tabPage2.Controls.Add(this.pictureBox1);
			this.tabPage2.Location = new Point(4, 26);
			this.tabPage2.Name = "tabPage2";
			this.tabPage2.Padding = new Padding(3);
			this.tabPage2.Size = new Size(734, 440);
			this.tabPage2.TabIndex = 1;
			this.tabPage2.Text = "分布视图";
			this.tabPage2.UseVisualStyleBackColor = true;
			this.pictureBox1.Anchor = (AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right);
			this.pictureBox1.Location = new Point(6, 11);
			this.pictureBox1.Name = "pictureBox1";
			this.pictureBox1.Size = new Size(708, 402);
			this.pictureBox1.TabIndex = 0;
			this.pictureBox1.TabStop = false;
			this.pictureBox1.SizeChanged += this.pictureBox1_SizeChanged;
			this.pictureBox1.Paint += this.pictureBox1_Paint;
			this.pictureBox1.DoubleClick += this.pictureBox1_DoubleClick;
			this.pictureBox1.MouseEnter += this.pictureBox1_MouseEnter;
			this.pictureBox1.MouseLeave += this.pictureBox1_MouseLeave;
			this.pictureBox1.MouseMove += this.pictureBox1_MouseMove;
			this.checkBox1.AutoSize = true;
			this.checkBox1.Font = new Font("微软雅黑", 9f, FontStyle.Regular, GraphicsUnit.Point, 134);
			this.checkBox1.Location = new Point(514, 5);
			this.checkBox1.Name = "checkBox1";
			this.checkBox1.Size = new Size(111, 21);
			this.checkBox1.TabIndex = 16;
			this.checkBox1.Text = "使用正则表达式";
			this.checkBox1.UseVisualStyleBackColor = true;
			this.textBox4.Anchor = (AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right);
			this.textBox4.Font = new Font("宋体", 10.5f, FontStyle.Regular, GraphicsUnit.Point, 134);
			this.textBox4.Location = new Point(514, 27);
			this.textBox4.Name = "textBox4";
			this.textBox4.Size = new Size(227, 23);
			this.textBox4.TabIndex = 17;
			this.userButton_source.Anchor = (AnchorStyles.Bottom | AnchorStyles.Right);
			this.userButton_source.BackColor = Color.Transparent;
			this.userButton_source.CustomerInformation = "";
			this.userButton_source.EnableColor = Color.FromArgb(190, 190, 190);
			this.userButton_source.Font = new Font("微软雅黑", 9f);
			this.userButton_source.Location = new Point(650, 513);
			this.userButton_source.Margin = new Padding(3, 4, 3, 4);
			this.userButton_source.Name = "userButton_source";
			this.userButton_source.Size = new Size(98, 25);
			this.userButton_source.TabIndex = 13;
			this.userButton_source.UIText = "源日志";
			this.userButton_source.Click += this.userButton_source_Click;
			this.userButton_All.Anchor = (AnchorStyles.Bottom | AnchorStyles.Left);
			this.userButton_All.BackColor = Color.Transparent;
			this.userButton_All.CustomerInformation = "";
			this.userButton_All.EnableColor = Color.FromArgb(190, 190, 190);
			this.userButton_All.Font = new Font("微软雅黑", 9f);
			this.userButton_All.Location = new Point(525, 513);
			this.userButton_All.Margin = new Padding(3, 4, 3, 4);
			this.userButton_All.Name = "userButton_All";
			this.userButton_All.Size = new Size(98, 25);
			this.userButton_All.TabIndex = 11;
			this.userButton_All.UIText = "全部";
			this.userButton_All.Click += this.userButton_All_Click;
			this.userButton_Fatal.Anchor = (AnchorStyles.Bottom | AnchorStyles.Left);
			this.userButton_Fatal.BackColor = Color.Transparent;
			this.userButton_Fatal.CustomerInformation = "";
			this.userButton_Fatal.EnableColor = Color.FromArgb(190, 190, 190);
			this.userButton_Fatal.Font = new Font("微软雅黑", 9f);
			this.userButton_Fatal.Location = new Point(422, 513);
			this.userButton_Fatal.Margin = new Padding(3, 4, 3, 4);
			this.userButton_Fatal.Name = "userButton_Fatal";
			this.userButton_Fatal.Size = new Size(98, 25);
			this.userButton_Fatal.TabIndex = 10;
			this.userButton_Fatal.UIText = "致命";
			this.userButton_Fatal.Click += this.userButton_Fatal_Click;
			this.userButton_Error.Anchor = (AnchorStyles.Bottom | AnchorStyles.Left);
			this.userButton_Error.BackColor = Color.Transparent;
			this.userButton_Error.CustomerInformation = "";
			this.userButton_Error.EnableColor = Color.FromArgb(190, 190, 190);
			this.userButton_Error.Font = new Font("微软雅黑", 9f);
			this.userButton_Error.Location = new Point(318, 513);
			this.userButton_Error.Margin = new Padding(3, 4, 3, 4);
			this.userButton_Error.Name = "userButton_Error";
			this.userButton_Error.Size = new Size(98, 25);
			this.userButton_Error.TabIndex = 9;
			this.userButton_Error.UIText = "错误";
			this.userButton_Error.Click += this.userButton_Error_Click;
			this.userButton_Warn.Anchor = (AnchorStyles.Bottom | AnchorStyles.Left);
			this.userButton_Warn.BackColor = Color.Transparent;
			this.userButton_Warn.CustomerInformation = "";
			this.userButton_Warn.EnableColor = Color.FromArgb(190, 190, 190);
			this.userButton_Warn.Font = new Font("微软雅黑", 9f);
			this.userButton_Warn.Location = new Point(214, 513);
			this.userButton_Warn.Margin = new Padding(3, 4, 3, 4);
			this.userButton_Warn.Name = "userButton_Warn";
			this.userButton_Warn.Size = new Size(98, 25);
			this.userButton_Warn.TabIndex = 8;
			this.userButton_Warn.UIText = "警告";
			this.userButton_Warn.Click += this.userButton_Warn_Click;
			this.userButton_Info.Anchor = (AnchorStyles.Bottom | AnchorStyles.Left);
			this.userButton_Info.BackColor = Color.Transparent;
			this.userButton_Info.CustomerInformation = "";
			this.userButton_Info.EnableColor = Color.FromArgb(190, 190, 190);
			this.userButton_Info.Font = new Font("微软雅黑", 9f);
			this.userButton_Info.Location = new Point(110, 513);
			this.userButton_Info.Margin = new Padding(3, 4, 3, 4);
			this.userButton_Info.Name = "userButton_Info";
			this.userButton_Info.Size = new Size(98, 25);
			this.userButton_Info.TabIndex = 7;
			this.userButton_Info.UIText = "信息";
			this.userButton_Info.Click += this.userButton_Info_Click;
			this.userButton_Debug.Anchor = (AnchorStyles.Bottom | AnchorStyles.Left);
			this.userButton_Debug.BackColor = Color.Transparent;
			this.userButton_Debug.CustomerInformation = "";
			this.userButton_Debug.EnableColor = Color.FromArgb(190, 190, 190);
			this.userButton_Debug.Font = new Font("微软雅黑", 9f);
			this.userButton_Debug.Location = new Point(6, 513);
			this.userButton_Debug.Margin = new Padding(3, 4, 3, 4);
			this.userButton_Debug.Name = "userButton_Debug";
			this.userButton_Debug.Size = new Size(98, 25);
			this.userButton_Debug.TabIndex = 6;
			this.userButton_Debug.UIText = "调试";
			this.userButton_Debug.Click += this.userButton_Debug_Click;
			base.AutoScaleMode = AutoScaleMode.None;
			base.Controls.Add(this.textBox4);
			base.Controls.Add(this.checkBox1);
			base.Controls.Add(this.tabControl1);
			base.Controls.Add(this.userButton_source);
			base.Controls.Add(this.label2);
			base.Controls.Add(this.userButton_All);
			base.Controls.Add(this.userButton_Fatal);
			base.Controls.Add(this.userButton_Error);
			base.Controls.Add(this.userButton_Warn);
			base.Controls.Add(this.userButton_Info);
			base.Controls.Add(this.userButton_Debug);
			base.Controls.Add(this.textBox3);
			base.Controls.Add(this.label1);
			base.Controls.Add(this.textBox2);
			base.Name = "LogNetAnalysisControl";
			base.Size = new Size(752, 542);
			base.Load += this.LogNetAnalysisControl_Load;
			this.tabControl1.ResumeLayout(false);
			this.tabPage1.ResumeLayout(false);
			this.tabPage1.PerformLayout();
			this.tabPage2.ResumeLayout(false);
			((ISupportInitialize)this.pictureBox1).EndInit();
			base.ResumeLayout(false);
			base.PerformLayout();
		}

		// Token: 0x04000497 RID: 1175
		private string m_LogSource = string.Empty;

		// Token: 0x04000498 RID: 1176
		private UserButton selectButton = null;

		// Token: 0x04000499 RID: 1177
		private List<DateTime> listPaint = new List<DateTime>();

		// Token: 0x0400049A RID: 1178
		private List<LogNetAnalysisControl.PaintItem> listRender = new List<LogNetAnalysisControl.PaintItem>();

		// Token: 0x0400049E RID: 1182
		private StringFormat stringFormat = new StringFormat
		{
			Alignment = StringAlignment.Center,
			LineAlignment = StringAlignment.Center
		};

		/// <summary> 
		/// 必需的设计器变量。
		/// </summary>
		// Token: 0x0400049F RID: 1183
		private IContainer components = null;

		// Token: 0x040004A0 RID: 1184
		private TextBox textBox1;

		// Token: 0x040004A1 RID: 1185
		private TextBox textBox2;

		// Token: 0x040004A2 RID: 1186
		private Label label1;

		// Token: 0x040004A3 RID: 1187
		private TextBox textBox3;

		// Token: 0x040004A4 RID: 1188
		private UserButton userButton_Debug;

		// Token: 0x040004A5 RID: 1189
		private UserButton userButton_Info;

		// Token: 0x040004A6 RID: 1190
		private UserButton userButton_Warn;

		// Token: 0x040004A7 RID: 1191
		private UserButton userButton_Error;

		// Token: 0x040004A8 RID: 1192
		private UserButton userButton_Fatal;

		// Token: 0x040004A9 RID: 1193
		private UserButton userButton_All;

		// Token: 0x040004AA RID: 1194
		private Label label2;

		// Token: 0x040004AB RID: 1195
		private UserButton userButton_source;

		// Token: 0x040004AC RID: 1196
		private TabControl tabControl1;

		// Token: 0x040004AD RID: 1197
		private TabPage tabPage1;

		// Token: 0x040004AE RID: 1198
		private TabPage tabPage2;

		// Token: 0x040004AF RID: 1199
		private PictureBox pictureBox1;

		// Token: 0x040004B0 RID: 1200
		private CheckBox checkBox1;

		// Token: 0x040004B1 RID: 1201
		private TextBox textBox4;

		// Token: 0x0200054D RID: 1357
		private class PaintItem
		{
			// Token: 0x170006D7 RID: 1751
			// (get) Token: 0x06002C18 RID: 11288 RVA: 0x000E7CB8 File Offset: 0x000E5EB8
			// (set) Token: 0x06002C19 RID: 11289 RVA: 0x000E7CC0 File Offset: 0x000E5EC0
			public DateTime Start { get; set; }

			// Token: 0x170006D8 RID: 1752
			// (get) Token: 0x06002C1A RID: 11290 RVA: 0x000E7CC9 File Offset: 0x000E5EC9
			// (set) Token: 0x06002C1B RID: 11291 RVA: 0x000E7CD1 File Offset: 0x000E5ED1
			public DateTime End { get; set; }

			// Token: 0x170006D9 RID: 1753
			// (get) Token: 0x06002C1C RID: 11292 RVA: 0x000E7CDA File Offset: 0x000E5EDA
			// (set) Token: 0x06002C1D RID: 11293 RVA: 0x000E7CE2 File Offset: 0x000E5EE2
			public int Count { get; set; }
		}
	}
}
